#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cJSON.h"
/**  注意： gcc main.c cJSON.c  -o main.o  -lm           m表示math库，cjson里面有用到
 *   
 *   json 解析
 *   所有的都是一样json对象都是 cjson类型
 *   cJSON{
 *      type :  通过type判断类型
 *      valueXX : 获取对应的值 
 *   }
 */


   /**
    {
	    "BENCI":{
	      "price":34
	      "name" : "meisaide"
          "other":[123, true,"hello"]
	    }
	    "num":100   
    }
    */
void createJson0001(){

// 创建对象
    cJSON * root =  cJSON_CreateObject();  // root 
    cJSON * BENCI =  cJSON_CreateObject();
    cJSON * other_array =  cJSON_CreateArray();

// 添加key-value 
    cJSON_AddItemToObject(root, "num", cJSON_CreateNumber(100));//根节点下添加
    cJSON_AddItemToObject(root, "BENCI", BENCI);//root节点下添加semantic节点
    cJSON_AddItemToObject(BENCI, "name", cJSON_CreateString("meisaide"));//semantic节点下添加item节点
    
    cJSON_AddItemToObject(BENCI, "price", cJSON_CreateNumber(34));//semantic节点下添加item节点



    // 创建json数组
    cJSON_AddItemToObject(BENCI,"other",other_array); 
    cJSON_AddItemToArray(other_array,cJSON_CreateNumber(122.0));
    cJSON_AddItemToArray(other_array,cJSON_CreateFalse());
    cJSON_AddItemToArray(other_array, cJSON_CreateBool(1));
    cJSON_AddItemToArray(other_array,cJSON_CreateString("hello"));


    // 格式化数据
    char* data = cJSON_Print(root);
    FILE* file = fopen("a.json","w");

    fwrite(data,sizeof(char),strlen(data)+1,file);

    fclose(file);
}



void parseJson0001(){
  
    


}

int main(){

  //  createJson0001();

  
	return 0;
}